#include "util.h"
#include <iostream>
#include <string>
Util::Util() {}
Util &Util::GetInstance()
{
    static Util util;
    return util;
}
int Util::getArrFromStdin(int *arr)
{
    // 接收getchar()从stdin获取的字符
    char c;
    // 数组下标
    int i = 0;
    // 接收从stdin中输入的数字组合
    std::string ss;
    // 判断获取到的字符是否为回车,若为回车则结束
    while ((c = getchar()) != '\n')
    {
        // 是否为数字
        if (c >= '0' && c <= '9')
        {
            ss += c;
            continue;
        }
        if (!ss.empty())
        {
            arr[i] = atoi(ss.c_str());
            i++;
            ss.clear();
        }
    }
    // 检测到回车时，退出循环，将最后一个数填进数组
    arr[i] = atoi(ss.c_str());
    return i + 1;
}
int Util::getArrFromStdin(std::string msg,int *arr){
    std::cout<<msg<<std::endl;
    int length = getArrFromStdin(arr);
    return length;
}
bool Util::getTarr(const int *arr, int *Tarr,int arrLength)
{
    // 做出前缀和数组
    for (int i = 0; i < arrLength; i++)
    {
        for (int j = i; j >= 0; j--)
        {
            Tarr[i] += arr[j];
        }
    }
    return 0;
}
